#ifndef STACK_H
#define STACK_H

/* Struktura stosu */

typedef struct StackElement {

	void* data;

	struct StackElement* next;
	
} StackElement;

typedef struct Stack {

	int size;

	StackElement* top;
	
} Stack;

void stack_init(Stack** s);

void stack_cleanup(Stack* s);

int stack_size(Stack* s);

void stack_push(Stack* s, void* data);

void* stack_pop(Stack* s);

void* stack_peek(Stack* s);

void** stack_to_array(Stack* s);

#endif